---
title: Pad capital letters
summary: Expands a run-together identifier into separated words.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Business.Utilities
reference_type: embedded
operation_id: op-05-pad-capital-letters
trigger: Caller wants a run-together identifier expanded into words
---

# Pad capital letters

Expands a run-together, capital-delimited identifier (e.g. `MyFieldName`) into separated words.

| Field | Value |
| --- | --- |
| **Operation ID** | op-05-pad-capital-letters |
| **Trigger** | Caller wants a run-together identifier expanded into words |
| **Inputs** | Target string |
| **Outputs** | Space-separated string |
| **Primary components** | `TitleCaseExtensions.ToPadCapitalLetters`, `PadCapitalLettersFormat.ApplyFormat` (`SAIF.Framework.StandardFormats`) |
| **Entry point** | SAIF.Business.Utilities/TitleCaseExtensions.vb |

## Steps

1. If the target already contains a space, return it unchanged ([BR-018](../business-rules.md#br-018-capital-padding-skip)).
2. Otherwise delegate to `New PadCapitalLettersFormat().ApplyFormat(Target)` from `SAIF.Framework.StandardFormats`.

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start([Caller invokes ToPadCapitalLetters]) --> CheckSpace{Target already<br>contains a space?}
	CheckSpace -->|Yes| ReturnUnchanged([Return target unchanged])
	CheckSpace -->|No| Delegate["Delegate to New<br>PadCapitalLettersFormat().ApplyFormat(Target)"]
	ReturnUnchanged --> Done([Return result])
	Delegate --> Done
```

## Failure and edge-case behavior
- No explicit exception handling in this operation. The only guarded edge case is a target that already contains a space, which is returned unchanged without delegating to `ApplyFormat`.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)

## Sources
- `SAIF.Business.Utilities/TitleCaseExtensions.vb`
